Traditionally, vision tools are programmed together within a programming environment such as C++, Delphi, or Visual Basic wherein a set of tools can be created, used and configured together. Although some environments are easier to program than others (e.g. Visual Basic is easier than C++), they still require knowledge of that programming environment.
The U.S. Pat. No. 5,481,712 to Silver et al. discloses a method and system for interactively generating a computer program in "C" for machine vision analysis wherein the program only permits the operator (i.e. programmer) to make only syntactically correct modifications to the program. A menu element displays permissible programming modifications for the location of interest. The menu element incorporates in its display of permissible programming modifications statements for machine vision analysis of an object image such as calls to machine vision, sub-routines and functions. The computer program is programmed via a closed or proprietary package via predefined tools and operations.
The U.S. Pat. No. 4,914,567 to Lipkis et al. provides for a design system using visual language. The system uses a visual user presentation of a control system, including structure, specification and operation. The visual element enables a user to interactively design, modify and explore operating characteristics. A Grafcet-based graphic control-flow language for setting and testing state variables is disclosed. Additional features are: application-artificial vision systems; object-oriented applications platform; top-down design; and setting of variable values. The system links Grafcet and MAP technology.
The U.S. Pat. No. 5,005,119 to Rumbaugh et al. provides for user interactive control of computer programs and corresponding versions of input/output data flow. Programs for a CAD task and their respective data set requirements are visually displayed as a flowgraph with which the user interacts to select input data sets and initiate program executions.
The U.S. Pat. No. 5,327,350 to Endo provides for an interactive-type data input function for controlling the operation of a machine tool by creating a machining program based on input data.
The U.S. Pat. No. 5,383,110 to Fujita et al. adds the feature of answering questions displayed on a display screen to generate a numerical control program.
The U.S. Pat. No. 5,157,663 to Kahn provides for an animated user interface for computer program creation, control and execution. The interface enables the user to create programs in an interactive visual manner. Animation is integrated with computer programming to allow a user to visualize programming flow and operation.
The U.S. Pat. No. 4,679,137 to Lane et al. provides for a process control interface system for designer and operator. A dynamic menu element is used during the definition and selection of operating parameters used by a process control program. Each data structure includes value indicia defining the parameters of the data structures.
The U.S. Pat. No. 4,759,074, to Iadipaolo et al. provides for a method for automatically inspecting parts utilizing machine vision and system utilizing same. The system is taught by a series of steps which features are to be inspected. Typical features, as well as tolerances, are defined by the programmer to develop reference data.
The U.S. Pat. No. 5,574,828, to Hayward et al. U.S. Pat. No. 5,511,147 to Abdel-Malek, U.S. Pat. No. 4,833,624 to Kuwahara et al., U.S. Pat. No. 5,453,933 to Wright et al., U.S. Pat. No. 4,462,046 to Spight, U.S. Pat. No. 5,314,055 to Gordon, each provide general teachings of user interactive programming techniques for robotic or CNC machine tool environments.
In the automation world (i.e. for PLC's), there exists open standards such as Grafcet and IEC 1131 to define the syntax for automation control.